package es.udc.emarketapp.emarket.test;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

import es.udc.emarketapp.emarket.model.product.dao.SQLProductDAO;
import es.udc.emarketapp.emarket.model.product.dao.SQLProductDAOFactory;
import es.udc.emarketapp.emarket.model.product.vo.ProductVO;
import es.udc.emarketapp.emarket.model.category.vo.CategoryVO;
import es.udc.emarketapp.emarket.model.productFacade.ProductFacade;
import es.udc.emarketapp.emarket.model.productFacade.vo.ProductChunkVO;

import es.udc.fbellas.j2ee.util.sql.SimpleDataSource;




public final class PruebaProductFacade {
	
    public static void main (String[] args) throws Exception {
     	
       
    	   ProductFacade productFacade = new ProductFacade();
       
         /*
           //Prueba CreateProduct de ProductFacade   ++++++++++++++++++
       
           ProductVO productVO = new ProductVO("user6", new Long(2), "chocolatines", "pasta fina de chocolate", "Belgium", new Long(15), null, 3.50, 0.400, true);
           
           productFacade.createProduct(productVO);
         */  
           
       /*
            //Prueba ModifyProductById de ProductFacade   ++++++++++++++++++


           ProductVO productVO = new ProductVO(new Long(7),"user6", new Long(2), "chocopasta 52 gr", "pasta muy fina de chocolate", "Belgium", new Long(15), null, 3.50, 0.400, true);
           
           productFacade.modifyProduct(productVO);
       */
    	
       
    	/*
    	  //Prueba FindProductById de ProductFacade  ++++++++++++++++++
    	
    	   productVO = productFacade.findProductById(new Long(7));
    	   
    	   System.out.println(productVO);
    	*/   
    	   
    	
    	/*   
    	   //Prueba deleteProduct de ProductFacade    +++++++++++++++++*
    	    
    	   productFacade.deleteProduct(new Long(13));
    	*/
    	
    	   
    	 /* 
    	   //Prueba FindByCategory de ProductFacade   +++++++++++++++++
    	 
    	   ProductChunkVO productChunkVO;
    	   List<ProductVO> productVOs;
    	   
    	   int startIndex = 1;
    	   int groupCount = 2;
    	   
  		    do {
  			  productChunkVO = productFacade.findByCategory(new Long(2), startIndex, groupCount);
  			  productVOs = productChunkVO.getProductVOs();
  			
  		      for (ProductVO a : productVOs) {
  		          System.out.println(a);
  		      }
  		   
  		      System.out.println("--------------------------------");
  		      startIndex += groupCount;
 
    		 } while (productChunkVO.getExistMoreProducts());
         */
    	   
    	 
    	  /* 
    	   //Prueba FindByKeyWordAndCategory de ProductFacade   +++++++++++++++++
    	 
    	   ProductChunkVO productChunkVO;
    	   List<ProductVO> productVOs;
    	   
    	   int startIndex = 1;
    	   int groupCount = 2;
    	   
  		    do {
  			  productChunkVO = productFacade.findByKeywordsAndCategory("agua",
  					  new Long(6), startIndex, groupCount);
  			  productVOs = productChunkVO.getProductVOs();
  			
  		      for (ProductVO a : productVOs) {
  		          System.out.println(a);
  		      }
  		   
  		      System.out.println("--------------------------------");
  		      startIndex += groupCount;
 
    		 } while (productChunkVO.getExistMoreProducts());
        */ 
    	
    	   
    	 /*  
    	   //Prueba FindByName de ProductFacade  +++++++++++++++++++++++ 
    	 
    	   ProductChunkVO productChunkVO;
    	   List<ProductVO> productVOs;
    	   
    	   int startIndex = 1;
    	   int groupCount = 2;
    	   
  		    do {
  			  productChunkVO = productFacade.findByName("choco", startIndex, groupCount);
  			  productVOs = productChunkVO.getProductVOs();
  			
  		      for (ProductVO a : productVOs) {
  		          System.out.println(a);
  		      }
  		   
  		      System.out.println("--------------------------------");
  		      startIndex += groupCount;
 
    		 } while (productChunkVO.getExistMoreProducts());
         */
    	   
 
        /*   
    	   //Prueba FindBySeller de ProductFacade  +++++++++++++++++++++++ 
    	 
    	   ProductChunkVO productChunkVO;
    	   List<ProductVO> productVOs;
    	   
    	   int startIndex = 1;
    	   int groupCount = 2;
    	   
  		    do {
  			  productChunkVO = productFacade.findBySeller("user5", startIndex, groupCount);
  			  productVOs = productChunkVO.getProductVOs();
  			
  		      for (ProductVO a : productVOs) {
  		          System.out.println(a);
  		      }
  		   
  		      System.out.println("--------------------------------");
  		      startIndex += groupCount;
 
    		 } while (productChunkVO.getExistMoreProducts());
         */
    	
    	   
    	  /* 
    	   //Prueba FindByOrigin de ProductFacade  +++++++++++++++++++++++ 
      	 
    	   ProductChunkVO productChunkVO;
    	   List<ProductVO> productVOs;
    	   
    	   int startIndex = 1;
    	   int groupCount = 2;
    	   
  		    do {
  			  productChunkVO = productFacade.findByOrigin("spain", startIndex, groupCount);
  			  productVOs = productChunkVO.getProductVOs();
  			
  		      for (ProductVO a : productVOs) {
  		          System.out.println(a);
  		      }
  		   
  		      System.out.println("--------------------------------");
  		      startIndex += groupCount;
 
    		 } while (productChunkVO.getExistMoreProducts());
  		  */  


    } // main
} // class